package com.d3works.apps.supplychain.service.invoice;

import com.d3works.apps.account.db.Invoice;
import com.d3works.exception.D3worksException;

public interface InvoiceServiceSupplychain {

  /**
   * Calculate pack total in invoice lines.
   *
   * @param invoice
   */
  public void computePackTotal(Invoice invoice);

  /**
   * Reset pack total in invoice lines.
   *
   * @param invoice
   */
  public void resetPackTotal(Invoice invoice);

  /**
   * To update product qty with pack header qty.
   *
   * @param invoice
   * @return {@link Invoice}
   * @throws D3worksException
   */
  public Invoice updateProductQtyWithPackHeaderQty(Invoice invoice) throws D3worksException;
}
